// 使用express中router中间件
let express = require("express");
// 1-创建一个路由中间件
let router = express.Router();

// 导入 Todo对象
let { Todo } = require("../models/db");

//  / todos get请求--、
router.get("/", async function (req, res) {
  // 查询列表
  let resArr = await Todo.find().sort({ _id: -1 });
  res.json({ msg: "列表 todos", data: resArr });
});

router.get("/:id", async function (req, res) {
  // 跟todoid 查询星期
  let obj = await Todo.findById(req.params.id);
  res.json({ msg: "列表 todos", data: obj });
});

//  / todos delete请求--、
// 根据id删除
router.delete("/:id", async function (req, res) {
  // 删除数据
  let r = await Todo.findByIdAndDelete(req.params.id);
  res.json({ msg: "delete todos", code: 1 });
});
//  / todos patch请求--、

// 根据id删除
router.patch("/:id", async function (req, res) {
  //  await Todo.findByIdAndUpdate(req.params.id,{title:req.body.title,})
  //   req.body {title:'aa',completed:1}
  //   await Todo.findByIdAndUpdate(req.params.id, { ...req.body });
  await Todo.findByIdAndUpdate(req.params.id, req.body);
  res.json({ msg: "patch todos" });
});

//  / todos post请求--、
router.post("/", async function (req, res) {
  await Todo.create(req.body);
  // Todo 数据库中插入数据 create
  res.json({ msg: "post todos" });
});

// 3- 导出router中间件
module.exports = router;
